Identity Management in Internet of Things with Blockchain
227
Fig. 7 The verifiable
credentials standard logic
sends one and only one statement to the verifier [36]. While non-interactive ZKPs
demand cryptography and number theory analysis in order to be fully explained,
there is a simple example that is able to demonstrate their basic functionality.
Let’s suppose that the prover and the verifier are two mathematicians (A and B,
respectively) which know each other pretty well enjoying discussions related to math.
They agreed on a common secret key for their communication. Now let’s suppose
that Mathematician A (Prover) wants to travel around the world while at the same
time he develops a mathematical theorem (Fig. 9).
He wants to tell the Mathematician B (Verifier) and convince him that he has found
the solution to his theorem but does not want to reveal the theorem nor its solution
over mail. Moreover, because Mathematician A is traveling around the world, he
does not have a stable address in order to be able to receive a mail back from his
friend, meaning that their communication is one-way. How will Mathematician B be
sure that this mail came from his friend and that he is telling the truth?
Mathematician A will use the secret key which they had previously agreed upon,
in order to prove to his friend that it is him that is sending the mail, while at the
same time he is telling the truth. The secret key could for example be a mathematical
function with two parameters. In the mail, different parameters could be used every
time but the correct pair and order of the parameters which satisfy their secret function
can persuade Mathematician B whether it is his friend that the mail came from or
not.
Figure 7 illustrates the one-way interaction between the prover and verifier, while
their thoughts reveal the purpose of the non-interactive ZKPs usage.
4.1.3
ZKP Identity Adoptions in Blockchain
ZKPs are used in many ways in blockchain and not only for IAM. The very well-
known Proof-of-Work (PoW) consensus used by the Bitcoin blockchain and the
Ethereum blockchain platforms is based on the ZKP logic, with the proof being a
single hash word which satisfies some requirements (among others, starting with
an agreed by all peers, number of zeros). Thus, while there is no back-and-forth
communication between the blockchain network nodes, all peers can verify whether